/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.employee.entity;

import com.thinkgem.jeesite.common.utils.Constons;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;
import org.hibernate.validator.constraints.Length;
import com.thinkgem.jeesite.modules.sys.entity.Office;
import javax.validation.constraints.NotNull;

import com.thinkgem.jeesite.common.persistence.DataEntity;

import java.util.Date;

/**
 * 外包工考勤成本明细表Entity
 * @author pan.zhou
 * @version 2017-07-26
 */
public class OutsourceCostDetail extends DataEntity<OutsourceCostDetail> {
	
	private static final long serialVersionUID = 1L;
	private String employeenumber;		// 员工编号
	private String            name;       // 姓名
	private Office office;		// 仓库
	private Office company;		// 国家
	private String wageStandard;		// 时薪标准
	private String wageHour;		// 发薪总工时
	private String normalHour;		// 平时工时
	private String overtimeHour;		// 1.5倍加班时长
	private String normalMoney;		// 平时工资
	private String overtimeMoney;		// 加班工资
	private String diffAdjust;		// 差异调整
	private String temporaryMoney;		// 成本总计（未加增值税）
	private String addedTax;		// 增值税率
	private String outsourcingMoney;		// 应支付外包公司费用
	private String exchangeRate;		// 汇率
	private String totalMoney;		// 成本总计（RMB)
	
	private String startDate;  //开始时间
	private String endDate;    //结束时间
	
	private Date attendanceDate; //日期
	

	private String  outsourcingCompany; //外包公司
    private String employeeType;//员工类型
    private String position;//职位
    private String rank;//职级

	public OutsourceCostDetail() {
		super();
	}

	public OutsourceCostDetail(String id){
		super(id);
	}

	public OutsourceCostDetail(String number, Date date) {
		this.employeenumber = number;
		this.attendanceDate = date;
		this.delFlag = Constons.DELETE_N;
	}

    @Length(min=1, max=64, message="员工编号长度必须介于 1 和 64 之间")
	@ExcelField(title = "员工编号",sort = 1)
	public String getEmployeenumber() {
		return employeenumber;
	}

	@ExcelField(title = "员工名称",sort = 2)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setEmployeenumber(String employeenumber) {
		this.employeenumber = employeenumber;
	}
	
	@NotNull(message="仓库不能为空")
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}


    public Office getCompany() {
        return company;
	}

    public void setCompany(Office company) {
        this.company = company;
	}
	@ExcelField(title = "时薪标准",sort = 3)
	public String getWageStandard() {
		return wageStandard;
	}

	public void setWageStandard(String wageStandard) {
		this.wageStandard = wageStandard;
	}
	@ExcelField(title = "发薪总工时",sort = 4)
	public String getWageHour() {
		return wageHour;
	}

	public void setWageHour(String wageHour) {
		this.wageHour = wageHour;
	}

	@ExcelField(title = "发薪总工时",sort = 5)
	public String getNormalHour() {
		return normalHour;
	}

	public void setNormalHour(String normalHour) {
		this.normalHour = normalHour;
	}
	
	@Length(min=1, max=64, message="1.5倍加班时长长度必须介于 1 和 11 之间")
	@ExcelField(title = "1.5倍加班时长",sort = 6)
	public String getOvertimeHour() {
		return overtimeHour;
	}

	public void setOvertimeHour(String overtimeHour) {
		this.overtimeHour = overtimeHour;
	}
	@ExcelField(title = "平时工资",sort = 7)
	public String getNormalMoney() {
		return normalMoney;
	}

	public void setNormalMoney(String normalMoney) {
		this.normalMoney = normalMoney;
	}
	@ExcelField(title = "加班工资",sort = 8)
	public String getOvertimeMoney() {
		return overtimeMoney;
	}

	public void setOvertimeMoney(String overtimeMoney) {
		this.overtimeMoney = overtimeMoney;
	}
	@ExcelField(title = "差异调整",sort = 9)
	public String getDiffAdjust() {
		return diffAdjust;
	}

	public void setDiffAdjust(String diffAdjust) {
		this.diffAdjust = diffAdjust;
	}
	@ExcelField(title = "增值税率",sort = 10)
	public String getAddedTax() {
		return addedTax;
	}

	public void setAddedTax(String addedTax) {
		this.addedTax = addedTax;
	}
	@ExcelField(title = "应支付外包公司费用",sort =11)
	public String getOutsourcingMoney() {
		return outsourcingMoney;
	}

	public void setOutsourcingMoney(String outsourcingMoney) {
		this.outsourcingMoney = outsourcingMoney;
	}
	@ExcelField(title = "税率",sort = 12)
	public String getExchangeRate() {
		return exchangeRate;
	}

	public void setExchangeRate(String exchangeRate) {
		this.exchangeRate = exchangeRate;
	}
	@ExcelField(title = "成本总计(RMB)",sort = 13)
	public String getTotalMoney() {
		return totalMoney;
	}

	public void setTotalMoney(String totalMoney) {
		this.totalMoney = totalMoney;
	}

	@ExcelField(title = "成本总计（未加增值税）",sort = 14)
    public String getTemporaryMoney() {
        return temporaryMoney;
    }

    
    public void setTemporaryMoney(String temporaryMoney) {
        this.temporaryMoney = temporaryMoney;
    }


    public String getStartDate() {
        return startDate;
    }

    
    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    
    public String getEndDate() {
        return endDate;
    }

    
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }
	@ExcelField(title = "出勤日期",sort = 0)
    public Date getAttendanceDate() {
        return attendanceDate;
    }

    public void setAttendanceDate(Date attendanceDate) {
        this.attendanceDate = attendanceDate;
    }


    public String getOutsourcingCompany() {
        return outsourcingCompany;
    }


    public void setOutsourcingCompany(String outsourcingCompany) {
        this.outsourcingCompany = outsourcingCompany;
    }


    public String getEmployeeType() {
        return employeeType;
    }


    public void setEmployeeType(String employeeType) {
        this.employeeType = employeeType;
    }


    public String getPosition() {
        return position;
    }


    public void setPosition(String position) {
        this.position = position;
    }


    public String getRank() {
        return rank;
    }


    public void setRank(String rank) {
        this.rank = rank;
    }


}